package com.bsfcs.rag.entity;

import jakarta.persistence.*;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 合同管理发票表实体类 - 开票
 *
 * @author Generated
 * @date 2025-10-10
 */
@Data
@Entity
@Table(name = "htglxtbill", schema = "igixgg")
public class Invoice {

    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 版本
     */
    @Column(name = "version")
    private String version;

    /**
     * 状态
     */
    @Column(name = "billstatus")
    private String billstatus;

    /**
     * 流程实例
     */
    @Column(name = "processinstance")
    private String processinstance;

    /**
     * 单据号
     */
    @Column(name = "code")
    private String code;

    /**
     * 客户名称
     */
    @Column(name = "client_name")
    private String client_name;

    /**
     * 纳税人识别号
     */
    @Column(name = "tin")
    private String tin;

    /**
     * 地址
     */
    @Column(name = "addr")
    private String addr;

    /**
     * 电话
     */
    @Column(name = "phone")
    private String phone;

    /**
     * 开户银行
     */
    @Column(name = "bank")
    private String bank;

    /**
     * 开户银行账号
     */
    @Column(name = "bank_account")
    private String bank_account;

    /**
     * 含税金额
     */
    @Column(name = "tax_amount")
    private BigDecimal tax_amount;

    /**
     * 用途
     */
    @Column(name = "use_info")
    private String use_info;

    /**
     * 履约节点
     */
    @Column(name = "carry_node")
    private String carry_node;

    /**
     * 申请人员
     */
    @Column(name = "apply_user")
    private String apply_user;

    /**
     * 所在属部门
     */
    @Column(name = "dept")
    private String dept;

    /**
     * 所在公司
     */
    @Column(name = "company")
    private String company;

    /**
     * 节点计划id
     */
    @Column(name = "parent_id")
    private String parent_id;

    /**
     * 合同编号
     */
    @Column(name = "contract_code")
    private String contract_code;

    /**
     * 合同名称
     */
    @Column(name = "contract_name")
    private String contract_name;

    /**
     * 申请时间
     */
    @Column(name = "applicationdate")
    private String applicationdate;

    /**
     * 申请事由
     */
    @Column(name = "applicationreason")
    private String applicationreason;

    /**
     * 名称
     */
    @Column(name = "invoice_name")
    private String invoice_name;

    /**
     * 税号
     */
    @Column(name = "duty_paragraph")
    private String duty_paragraph;

    /**
     * 单位地址
     */
    @Column(name = "unitaddress")
    private String unitaddress;

    /**
     * 所属单位
     */
    @Column(name = "operator_org")
    private String operator_org;

    /**
     * 所属部门
     */
    @Column(name = "operator_department")
    private String operator_department;

    /**
     * 经办人
     */
    @Column(name = "operator_user_id")
    private String operator_user_id;

    /**
     * 开票金额
     */
    @Column(name = "invoice_amount")
    private BigDecimal invoice_amount;

    /**
     * 预计到账时间
     */
    @Column(name = "expectedarrivaltime")
    private String expectedarrivaltime;

    /**
     * 款项名称
     */
    @Column(name = "payment_name")
    private String payment_name;

    /**
     * 节点日期
     */
    @Column(name = "node_date")
    private String node_date;

    /**
     * 节点金额
     */
    @Column(name = "node_amount")
    private BigDecimal node_amount;

    /**
     * 占合同额比例
     */
    @Column(name = "contract_amount")
    private String contract_amount;

    /**
     * 条款说明
     */
    @Column(name = "terms_and_conditions")
    private String terms_and_conditions;

    /**
     * 评审ID
     */
    @Column(name = "psid")
    private String psid;

    /**
     * 相对方ID
     */
    @Column(name = "invoice_id")
    private String invoice_id;

    /**
     * 合同ID
     */
    @Column(name = "contract_id")
    private String contract_id;

    /**
     * 合同ID新
     */
    @Column(name = "contr_id")
    private String contr_id;

    /**
     * 项目ID
     */
    @Column(name = "project_id")
    private String project_id;

    /**
     * 项目名称
     */
    @Column(name = "project_name")
    private String project_name;

    /**
     * 项目编号
     */
    @Column(name = "project_code")
    private String project_code;

    /**
     * 项目类型
     */
    @Column(name = "project_type")
    private String project_type;

    /**
     * 项目金额
     */
    @Column(name = "project_amount")
    private BigDecimal project_amount;

    /**
     * 项目客户名称
     */
    @Column(name = "customer_name")
    private String customer_name;

    /**
     * 项目客户ID
     */
    @Column(name = "customer_id")
    private String customer_id;

    /**
     * 合同金额
     */
    @Column(name = "contract_total_money")
    private BigDecimal contract_total_money;

    /**
     * 创建人所属单位
     */
    @Column(name = "org")
    private String org;

    /**
     * 创建人所属部门
     */
    @Column(name = "department")
    private String department;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private String create_time;

    /**
     * 创建人
     */
    @Column(name = "create_user_id")
    private String create_user_id;

    /**
     * 履约节点id
     */
    @Column(name = "carry_node_id")
    private String carry_node_id;

    /**
     * 已开具不含税总额
     */
    @Column(name = "total_invoice_amount")
    private BigDecimal total_invoice_amount;

    /**
     * 未开具发票总额
     */
    @Column(name = "remaining_invoice_amount")
    private BigDecimal remaining_invoice_amount;

    /**
     * 已开具含税总额
     */
    @Column(name = "total_tax_invoice_amount")
    private BigDecimal total_tax_invoice_amount;

    /**
     * 税额总额
     */
    @Column(name = "total_tax")
    private BigDecimal total_tax;

    /**
     * 经办单位编码
     */
    @Column(name = "jbr_org_code")
    private String jbr_org_code;

    /**
     * 经办部门编码
     */
    @Column(name = "jbr_dept_code")
    private String jbr_dept_code;

    /**
     * 经办人编码
     */
    @Column(name = "jbr_code")
    private String jbr_code;

    /**
     * 发票类型
     */
    @Column(name = "fplx")
    private String fplx;

    /**
     * 签约主体
     */
    @Column(name = "contract_entity")
    private String contract_entity;

    /**
     * 常用发票类型
     */
    @Column(name = "fp_bill_type")
    private String fp_bill_type;

    /**
     * 发票抬头名称
     */
    @Column(name = "fp_bill_name")
    private String fp_bill_name;

    /**
     * 开票备注
     */
    @Column(name = "fp_bill_mark")
    private String fp_bill_mark;

    /**
     * 控制签约主体
     */
    @Column(name = "is_contract_entity")
    private Long is_contract_entity;

    /**
     * 审批完成时间
     */
    @Column(name = "psdate")
    private String psdate;


}
